package com.zhi.service;

import com.zhi.entity.Student;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import java.util.List;

/**
 * 学生service层
 */
public interface StudentService {

	/**
	 * 获得所有数据
	 * @return
	 */
	public List<Student> getEntityList();

	/**
	 * 获得所有数据带数据字典值
	 * @return
	 */
	public List<Object[]> getEntityListWithCodeName();

	/**
	 * 获得所有数据带数据字典值并分页
	 * @param pageable
	 * @return
	 */
	public Page<Student> getEntityListWithCodeName(Pageable pageable);

	/**
	 * 获得所有数据带数据字典值并分页,班级id作为条件
	 * @param pageable
	 * @param gradeIds
	 * @return
	 */
	public Page<Student> getEntityListWithCodeName(Pageable pageable,List<String> gradeIds);

	/**
	 * 根据id获得
	 * @param id
	 * @return
	 */
	public Student getOne(String id);

	/**
	 * 根据对象获得
	 * @param student
	 * @return
	 */
	public List<Student> findAll(Student student);

	/**
	 * 保存对象
	 * @param student
	 */
	public void save(Student student);

	/**
	 * 编辑对象
	 * @param student
	 */
	public void edit(Student student);

	/**
	 * 删除对象
	 * @param id
	 */
	public void delete(String id);

	/**
	 * 根据对象获取数量
	 * @param student
	 * @return
	 */
	public Integer count(Student student);
	
}
